Fix pagetable pinning logic for xen/i386 kernels. The pin
flag is now associated with the pgd rather than the mm -- this
avoids a race where a pgd is allocated from the pgd_cache but,
before it gets associated with an mm, the kernel suspends itself.
At this point the kernel mappings will not get rewritten when the
kernel is resumed, and the system will fail.
A further advantage is that the code is slightly simpler and less
invasive (no changes to mm_context for example).
Signed-off-by: Keir Fraser <keir@xensource.com>